﻿using System;

namespace Postnuclear
  {
  /// <summary>
  /// Occurs when the "value" of the instance is changed.
  /// </summary>
  /// <remarks>
  /// The "value" is not obligatory the "Value" property.
  /// It can be some general meaning of the important value for this instance.
  /// Also observer is not interested in the value of the "value".
  /// It requires to know only when it is changed.
  /// </remarks>
  public interface INotifyValueChanged
    {
    // Events

    /// <summary>
    /// Occurs when the value of the instance is changed.
    /// </summary>
    event EventHandler<EventArgs> ValueChanged;
    }
  }